package me.shan.util;

/**
 * 描述：随机数工具类
 *
 * @author liuchuang
 * @date 2021/6/18 17:31
 */
public class RandomUtils {

    public static int getRandomValue(int maxValue) {
        return ((int) (Math.random() * maxValue + 1)) - ((int) (Math.random() * maxValue + 1));
    }

    public static int getRandomLen(int maxLen) {
        return (int) (Math.random() * maxLen) + 1;
    }

    /**
     * 随机数组生成器
     *
     * @param maxSize 数组最大长度
     * @param maxValue 元素最大值 [-maxValue, maxValue]
     * @return 随机生成的数组
     */
    public static int[] generateRandomArray(int maxSize, int maxValue) {
        // 数组随机大小
        int[] array = new int[getRandomLen(maxSize)];
        for (int i = 0; i < array.length; i++) {
            // 确保元素正负零都有出现的可能
            array[i] = getRandomValue(maxValue);
        }
        return array;
    }

}
